package com.jumei.flume.parser;

import org.joda.time.DateTime;

import java.util.List;

/**
 * 解析一行日志的解析器的接口定义
 */
public interface LogLineParser {

    /**
     * 如果是针对多个不同Category进行解析的Parser，需要注册针对具体Category进行解析的子Parser
     *
     * @throws Exception
     */
    public void initRegisterSubParsers() throws Exception;

    /**
     * 把一行日志解析成一行格式化好的数据
     *
     * @param line
     * @return
     */
    public List<ParsedLine> parse(String line) throws Exception;

    public DateTime parseCreateTime(String line, String[] splitedValues);

    public String[] getTestIps();

    /**
     * 判断某个指定ip是否测试用的ip
     *
     * @param ip
     * @return
     */
    public boolean isTestIp(String ip);
}

